/*
 * Powered By xTOOLs
 * Dev by tao.li8@pactera.com
 * Copyright ©2009-2018 pactera.com All rights reserved.
 *
 * Generated at 2020-6-29 9:56:19
 */

package com.pactera.jep.service.yapin.coll.service;

import com.pactera.jep.orm.service.CRUDService;
import com.pactera.jep.service.yapin.coll.model.*;
import com.pactera.jep.service.yapin.coll.vo.ColCollBaseInfoCheckVO;
import com.pactera.jep.service.yapin.coll.vo.ColCollBaseInfoVO;
import com.pactera.jep.service.yapin.coll.vo.CollBaseListVO;
import com.pactera.jep.service.yapin.coll.vo.ParamInfoListVO;

import java.util.List;
import java.util.Map;

/**
 * 押品基础信息表接口
 * @Author YourName
 * @Date 2020-6-29 9:56:19
 */
public interface CollBaseInfoService extends CRUDService<CollBaseInfo, String>{

    /**
     * 检查新增唯一押品信息
     * @param colCollBaseInfoCheckVO 押品信息
     * @return 新增结果
     */
    String checkBaseInfo(ColCollBaseInfoCheckVO colCollBaseInfoCheckVO) throws Exception;

    /**
     * 更新押品基本信息
     */
    CollBaseInfo updateBaseInfo(CollBaseInfo collBaseInfo);

    /**
     * 查询押品基本信息
     * @param cltId 押品ID
     */
    ColCollBaseInfoVO getBaseInfo(String cltId);

    /**
     * 新增或修改押品价值信息
     */
    boolean addOrupdateValueInfo(ValueInfo valueInfo);

    /**
     * 查询押品价值信息列表
     */
    Map<String,Object> getValueInfoList(ParamInfoListVO valueInfoListVO);

    /**
     * 删除押品价值信息
     */
    boolean deleteValueInfo(List<String> valueinfoId);

    /**
     * 查询押品价值信息
     */
    ValueInfo getValueInfo(String valueinfoId);

    /**
     * 新增或修改保险信息
     */
    boolean addOrUpdateInsurenceInfo(InsurenceInfo insurenceInfo);

    /**
     *
     * 查询保险信息列表
     */
    Map<String,Object> getInsurenceInfoList(ParamInfoListVO valueInfoListVO);

    /**
     * 获取保险详细信息
     */
    InsurenceInfo getInsurenceInfo(String insurenceinfoId);

    /**
     * 删除保险信息
     */
    boolean deleteInsurenceInfo(List<String> insurenceinfoId);

    /**
     * 新增或修改权证信息
     */
    boolean addOrUpdateWarrantInfo(WarrantInfo warrantInfo);

    /**
     *
     * 查询权证信息列表
     */
    Map<String,Object> getWarrantInfoList(ParamInfoListVO valueInfoListVO);

    /**
     * 获取权证信息
     */
    WarrantInfo getWarrantInfo(String warrantinfoId);

    /**
     * 删除权证信息
     */
    boolean deleteWarrantInfo(List<String> warrantinfoIds);

    /**
     * 新增或修改租赁信息
     */
    boolean addOrUpdateRentalInfo(RentalInfo rentalInfo);

    /**
     * 租赁列表
     */
    Map<String,Object> getRentalInfoList(ParamInfoListVO valueInfoListVO);

    /**
     * 租赁详细信息
     */
    RentalInfo getRentalInfo(String rentalinfoId);

    /**
     * 删除租赁信息
     */
    boolean deleteRentalInfo(List<String> rentalinfoIds);

    /**
     * 意外列表/日常管理
     */
    Map<String,Object> getAccidentInfoList(ParamInfoListVO valueInfoListVO);

    /**
     * 删除日常管理信息
     */
    boolean deleteAccidentInfo(List<String> accidentinfoIds);

    /**
     * 查询处置信息
     */
    DispositionInfo getDispositionInfo(String cltId);

    /**
     * 押品列表
     */
    Map<String,Object> getCollBaseInfoList(CollBaseListVO collBaseListVO);

    Map<String, Object> getValueInfoByCltId(String cltId);

    Map<String, Object> getWarrantInfoByCltId(String cltId);

    Map<String, Object> getRentalInfoByCltId(String cltId);

    Map<String, Object> getAccidentInfoByCltId(String cltId);

    Map<String, Object> getBaseInfoById(String cltId);

    Map<String, Object> getCoownerByCltId(String cltId);
}
